package technique.只出现一次的数字;

public class Solution {
    public int singleNumber(int[] nums) {
        /**
         * 一个数 异或 两遍同一个数得到本身
         * a ^ b ^ a = b
         * 变式：a ^ b ^ c ^ b ^ c = a
         */
        for (int i = 1; i < nums.length; i++) {
            nums[0] ^= nums[i];
        }
        return nums[0];
    }

    public static void main(String[] args) {
        Solution solution = new Solution();
        System.out.println(solution.singleNumber(new int[]{4,1,2,1,2}));
    }
}
